package thread;

// 饿汉模式
// 保证 这个类只能创建出一个实例
class Singleton {
    // 先把实例创建出来
    private static Singleton instance = new Singleton();

    // 如果需要使用这个唯一实例, 统一通过 Singleton.getInstance() 获取
    public static Singleton getInstance() {
        return instance;
    }

    // 避免 在类外创建多个实例, 将构造代码私有化, 不能通过 new 一个实例来创建
    private Singleton() {}
}

public class ThreadDemo19 {
    public static void main(String[] args) {
        Singleton instance1 = Singleton.getInstance();
        Singleton instance2 = Singleton.getInstance();
        System.out.println(instance1 == instance2);
    }
}
